import { axios } from '@/utils/request'

/**
 * api接口列表
 */
const api = {
  list: '/goods/list',
  listByIds: '/goods/listByIds',
  detail: '/goods/detail',
  basic: '/goods/basic',
  add: '/goods/add',
  edit: '/goods/edit',
  delete: '/goods/delete',
  state: '/goods/state',
  getSkuList: '/goods/getSkuList',
  denySku: '/goods/denySku',
  setSkuStatus: '/goods/setSkuStatus',
  setexclusion: '/goods/set_exclusion',
  exclusion_list: '/goods/exclusion_list',
  exclusion_del: '/goods/exclusion_del'
}

/**
 * 列表记录
 */
export function list(params) {
  return axios({
    url: api.list,
    method: 'get',
    params
  })
}

/**
 * 根据商品ID集获取列表记录
 */
export function listByIds(goodsIds, params) {
  return axios({
    url: api.listByIds,
    method: 'get',
    params: { goodsIds, ...params }
  })
}

/**
 * 商品详情(详细信息)
 */
export function detail(params) {
  return axios({
    url: api.detail,
    method: 'get',
    params
  })
}

/**
 * 商品详情(基础信息)
 */
export function basic(goodsId, params) {
  return axios({
    url: api.basic,
    method: 'get',
    params: { goodsId, ...params }
  })
}

/**
 * 更新状态
 * @param {*} data
 */
export function state(data) {
  return axios({
    url: api.state,
    method: 'post',
    data
  })
}

/**
 * 新增记录
 * @param {*} data
 */
export function add(data) {
  return axios({
    url: api.add,
    method: 'post',
    data
  })
}

/**
 * 编辑记录
 * @param {*} data
 */
export function edit(data) {
  return axios({
    url: api.edit,
    method: 'post',
    data
  })
}

/**
 * 删除记录
 * @param {*} data
 */
export function deleted(data) {
  return axios({
    url: api.delete,
    method: 'post',
    data: data
  })
}

/**
 * 获取sku列表
 */
export function getSkuList(params) {
  return axios({
    url: api.getSkuList,
    method: 'get',
    params
  })
}

/**
 * 设置排斥sku
 */
export function denySku(data) {
  return axios({
    url: api.denySku,
    method: 'post',
    data: data
  })
}

/**
 * 设置或取消排斥sku
 */
export function setSkuStatus(data) {
  return axios({
    url: api.setSkuStatus,
    method: 'post',
    data
  })
}

/**
 * 设置排斥规则
 * 参数：
 * goodsId：产品id
 * spec_value_id集合：用英文逗号’,‘隔开
 */
export function setexclusion(data) {
  return axios({
    url: api.setexclusion,
    method: 'post',
    data
  })
}

/**
 * 排斥列表
 * 参数：
 * goodsId：产品id
 */
export function exclusion_list(data) {
  return axios({
    url: api.exclusion_list,
    method: 'post',
    data
  })
}

/**
 * 删除排斥规则
 * 参数：
 * exclusion_id：排斥规则id
 */
export function exclusion_del(data) {
  return axios({
    url: api.exclusion_del,
    method: 'post',
    data
  })
}

